草庐IT

java - 文件时间到字符串

全部标签

ruby - 在将字符串写入日志文件之前从字符串中删除颜色装饰

我这样使用ruby​​记录器:$logger=Logger.newMultiIO.new($stdout,log_file)MultiIO是我从thisanswer得到的一个类.这在大多数情况下效果很好,但我正在使用'colored'ruby​​gem在终端上提供彩色输出。不幸的是,这也最终出现在日志文件中,因为ANSI转义看起来像[32mPASS[0m或一些类似的不可打印字符垃圾。清理日志文件字符串同时保持tty字符串颜色的最佳方法是什么?我不介意猴子修补Logger或MultiIO,但我绝对不希望对日志文件和屏幕进行两次不同的调用。 最佳答案

ruby - 在 ruby​​ 字符串中正确使用 gsub

我有这样的表达:channelName=rhash["Channel"].gsub("'","")它工作正常。但是,我只能用它替换1个字符。我想再添加几个字符来替换。所以我尝试了以下方法:channelName=rhash["Channel"].gsub(/[':;]/,"")这不起作用,即没有对字符串进行替换,也没有错误消息。我也试过这个:channelName=rhash["Channel"].gsub!("'","")这导致了一个空白的字符串。所以绝对不是我想要的。我想要一个gsub方法来用我的字符串中的空格替换以下字符:';:我的问题:如何构造我的gsub方法,以便将上述字符的

ruby-on-rails - 无法加载此类文件 -- ruby​​gems.rb

好吧,这让我发疯!我尝试运行ruby​​/rails。MacBook-Pro-2:Libraryme$rvmlistrvmrubiesruby-1.9.3-p194[x86_64]ruby-2.1.0[x86_64]#=>-current#=*-current&&default#*-defaultMacBook-Pro-2:Libraryme$rvmuse2.1.0Using/usr/local/rvm/gems/ruby-2.1.0:1:in`require':cannotloadsuchfile--rubygems.rb(LoadError)from:1:in`'MacBook-P

ruby - 在调用方法的ruby中获取文件名

我有一个方法foo,它在脚本script001.rb中被调用我应该如何编写foo方法,以便它返回调用它的脚本的文件名? 最佳答案 为了避免需要处理caller风格的字符串,你可以使用Kernel#caller_locations,反而。它返回一个数组Thread::Backtrace::Location对象,它有一些方便的方法供您使用。要获取文件名,在您的情况下,您可以使用#path方法:deffoocaller_locations.first.pathend 关于ruby-在调用方法的

ruby - 将散列转换为名称-值对的字符串

如果我将ruby​​散列转换为名称-值对字符串(例如,用于HTTP参数),这是最好的方法吗?#Definethehashfields={"a"=>"foo","b"=>"bar"}#Turnitintothename-valuestringhttp_params=fields.map{|k,v|"#{k}=#{v}"}.join('&')我想我的问题是:是否有更简单的方法来访问http_params?诚然,上述方法有效并且相当简单,但我很好奇是否有一种方法可以在不首先创建数组(map方法的结果)的情况下从散列获取字符串? 最佳答案

ruby - 我如何指定我希望 Vim 像对待 .rb 文件一样对待 .ru 文件

每当我将Vim与Ruby文件一起使用时,我都会在block上获得漂亮的着色和自动缩进。但是,当我编辑Rack文件时,我没有得到这些东西。如何使用Rack文件扩展Vim/Ruby配置? 最佳答案 将它放在你的vimrc中,告诉vim将*.ru文件与ruby​​语法高亮相关联。auBufRead,BufNewFile*.rusetfiletyperuby 关于ruby-我如何指定我希望Vim像对待.rb文件一样对待.ru文件,我们在StackOverflow上找到一个类似的问题:

ruby-on-rails - 生成脚手架时跳过 jbuilder 文件?

当我搭建脚手架时,我不希望它生成这些文件:invokejbuildercreateapp/views/tests/index.json.jbuildercreateapp/views/tests/show.json.jbuilder但是怎么办?在我的application.rb我有这个:config.generatorsdo|g|g.assetsfalseg.helperfalseg.test_frameworknilend 最佳答案 使用config.generators.jbuilder=false或config.generat

css - gulp-ruby-sass - 'sass' 未被识别为内部或外部命令、可运行程序或批处理文件

我正在尝试在Windows上运行gulp-ruby-sass。我已经像这样安装了Ruby和Sass:$gem安装sass我的gulp.task看起来像这样:gulp.task('styles',function(){returnsass('src/scss/**/*.scss').on('error',sass.logError).pipe(gulp.dest('css'));});当我进入元素的根目录并运行$gulpstyles时,我明白了:[22:54:52]Usinggulpfilec:\wamp\www\wordpress\wp-content\themes\bootscore

ruby - 如何匹配不在两个特殊字符之间的正则表达式?

我有这样一个字符串:abcab"ab"ba"a"如何匹配不是由"分隔的字符串的一部分的每个a?我想匹配此处加粗的所有内容:abcab"ab"ba"a"我想替换那些匹配项(或者更确切地说,通过用空字符串替换它们来删除它们),因此删除引用的匹配部分将不起作用,因为我希望它们保留在字符串中。我正在使用Ruby。 最佳答案 假设引号正确平衡并且没有转义引号,那么很容易:result=subject.gsub(/a(?=(?:[^"]*"[^"]*")*[^"]*\Z)/,'')当且仅当匹配的a前面有偶数个引号时,这会将所有a替换为空字符串。

Ruby,删除部分文件路径

$local_path_to_css_file=File.expand_path(filename)给我A/B/C/D/CSS/filename或A/B/C/D/CSS/layouts/filename我想要的结果是:css/filename或css/layouts/filename删除css/之前的所有内容。 最佳答案 您可以使用路径名require'pathname'absolute_path=Pathname.new(File.expand_path(filename))project_root=Pathname.new("/